The International Standards Organization's (ISO) Open Systems Interconnection (OSI) standard provides a seven-layered hierarchy between an end user and a physical device through which different systems can communicate. Each layer is responsible for different tasks, and the OSI standard specifies the interaction between layers, as well as between devices complying with the standard.
FIG. 1 shows the hierarchy of the seven-layered OSI standard. As seen in FIG. 1, the OSI standard 100 includes a physical layer 110, a data link layer 120, a network layer 130, a transport layer 140, a session layer 150, a presentation layer 160, and an application layer 170.
The physical (PHY) layer 110 conveys the bit stream through the network at the electrical, mechanical, functional, and procedural level. It provides the hardware means of sending and receiving data on a carrier. The data link layer 120 describes the representation of bits on the physical medium and the format of messages on the medium, sending blocks of data (such as frames) with proper synchronization. The networking layer 130 handles the routing and forwarding of the data to proper destinations, maintaining and terminating connections. The transport layer 140 manages the end-to-end control and error checking to ensure complete data transfer. The session layer 150 sets up, coordinates, and terminates conversations, exchanges, and dialogs between the applications at each end. The presentation layer 160 converts incoming and outgoing data from one presentation format to another. The application layer 170 is where communication partners are identified, quality of service is identified, user authentication and privacy are considered, and any constraints on data syntax are identified.
The IEEE 802 Committee has developed a three-layer architecture for local networks that roughly corresponds to the physical layer 110 and the data link layer 120 of the OSI standard 100. FIG. 2 shows the IEEE 802 standard 200.
As shown in FIG. 2, the IEEE 802 standard 200 includes a physical (PHY) layer 210, a media access control (MAC) layer 220, and a logical link control (LLC) layer 225. The PHY layer 210 operates essentially as the PHY Layer 110 in the OSI standard 100. The MAC and LLC layers 220 and 225 share the functions of the data link layer 120 in the OSI standard 100. The LLC layer 225 places data into frames that can be communicated at the PHY layer 210; and the MAC layer 220 manages communication over the data link, sending data frames and receiving acknowledgement (ACK) frames. Together the MAC and LLC layers 220 and 225 are responsible for error checking as well as retransmission of frames that are not received and acknowledged. Although the term frames will be used throughout the following description to describe units of data and acknowledgment, other names are used in other embodiments. For example, in the internet protocol data is arranged in packets or datagrams.
FIG. 3 is a block diagram of a wireless network according to an embodiment of the present invention that could use the IEEE 802.15 standard 200. In an embodiment the network 300 is a wireless personal area network (WPAN), or piconet. However, it should be understood that the present invention also applies to other settings where bandwidth is to be shared among several users, such as, for example, wireless local area networks (WLAN), or any other appropriate wireless network.
When the term piconet is used, it refers to a network of devices connected in an ad hoc fashion, having one device act as a controller (i.e., it functions as a master) while the other devices follow the instructions of the controller (i.e., they function as slaves). The controller can be a designated device, or simply one of the devices chosen to function as a controller. One primary difference between devices and the controller is that the controller must be able to communicate with all of the devices in the network, while the various devices need not be able to communicate with all of the other devices.
As shown in FIG. 3, the network 300 includes a controller 310 and a plurality of devices 320. The controller 310 serves to control the operation of the network 300. As noted above, the system of controller 310 and devices 320 may be called a piconet, in which case the controller 310 may be referred to as a piconet controller (PNC). Each of the devices 320 must be connected to the controller 310 via primary wireless links 330, and may also be connected to one or more other devices 320 via secondary wireless links 340. Each device 320 of the network 300 may be a different wireless device, for example, a digital still camera, a digital video camera, a personal data assistant (PDA), a digital music player, or other personal wireless device.
In some embodiments the controller 310 may be the same sort of device as any of the devices 320, except with the additional functionality for controlling the system and the requirement that it communicate with every device 320 in the network 300. In other embodiments the controller may be a separate designated device.
The various devices 320 are confined to a usable physical area 350, which is set based on the extent to which the controller 310 can successfully communicate with each of the devices 320. Any device 320 that is able to communicate with the controller 310 (and vice versa) is within the usable area 350 of the network 300. As noted, however, it is not necessary for every device 320 in the network 300 to communicate with every other device 320.
FIG. 4 is a block diagram of a controller 310 or a device 320 from the network 300 of FIG. 3. As shown in FIG. 4, each controller 310 or device 320 includes a physical (PHY) layer 410, a media access control (MAC) layer 420, a set of upper layers 430, and a management entity 440.
The PHY layer 410 communicates with the rest of the network 300 via a primary or secondary wireless link 330 or 340. It generates and receives data in a transmittable data format and converts it to and from a format usable through the MAC layer 420. The MAC layer 420 serves as an interface between the data formats required by the PHY layer 410 and those required by the upper layers 430. The upper layers 205 include the functionality of the device 320. These upper layers 430 may include TCP/IP, TCP, UDP, RTP, IP, LLC, or the like.
Typically, the controller 310 and the devices 320 in a WPAN share the same bandwidth. Accordingly, the controller 310 coordinates the sharing of that bandwidth. Standards have been developed to establish protocols for sharing bandwidth in a wireless personal area network (WPAN) setting. For example, the IEEE standard 802.15.3 provides a specification for the PHY layer 410 and the MAC layer 420 in such a setting where bandwidth is shared using time division multiple access (TDMA). Using this standard, the MAC layer 420 defines frames and superframes through which the sharing of the bandwidth by the devices 320 is managed by the controller 310 and/or the devices 320.
One way that transmission is managed is through the use of acknowledgement (ACK) signals that indicate when a destination device (i.e., a receiver device) has successfully received a frame of information from a source device (i.e., a transmitter device). This allows the source device to know with certainty that its information has successfully arrived at its destination.
Since speed is often a concern with data transmission, it is desirable that the time allowed for acknowledgement be as small as possible. This is because time spent sending acknowledgement signals is time not being spent passing data from the source device to the destination device, which reduces the total data rate for the transmission.
However, if this acknowledgement duration is not sufficiently long, it can cause even greater delays because acknowledgement frames won't pass through properly. And when that happens the source device must resend the data to ensure that it is properly received.
It would therefore be desirable to provide a way of sending acknowledgement frames that was both fast and accurate, allowing for a minimum loss of transmission time to provide signal acknowledgement.